package cn.jyj.springframework.beans.factory.config;

import cn.jyj.springframework.beans.BeansException;
import cn.jyj.springframework.beans.factory.ConfigurableListableBeanFactory;

/**
 * Allows for custom modification of an application context's bean definitions,adapting the bean property values
 *   of the context's underlying bean factory.
 * 这个接口是满足于在所有的 BeanDefinition 加载完成后，实例化 Bean 对象之前，提供修改 BeanDefinition 属性的机制。
 *
 * @Author 老顽固小可爱
 * @Date 2023/1/8 21:41
 * @Version 1.0
 */
public interface BeanFactoryPostProcessor {

    /**
     * 在所有的 BeanDefinition 加载完成后，实例化 Bean 对象之前，提供修改 BeanDefinition 属性的机制
     *
     * @param beanFactory
     * @throws BeansException
     */
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException;

}

